Part Number Hot Search : 
24SVF AT28C64A 9435G UPA2450B LTM4642 LPR503AL XFATM A101M
Product Description
Full Text Search
 

To Download MCS51 Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
 Intel MCS-51 -perhe Liite 1 / 1
w
w
at .D w
aS
ee h
4U MCS-51 -perhe t Intel
SISALLYSLUETTELO 1 2 3 4 Yleispiirteet Rekisterirakenne Kantakytkenta Muistiorganisaatio 4.1 Ohjelmamuisti 4.2 Datamuisti 5 Yhden bitin kasittelymahdollisuudet 6 Keskeytykset 7 I/O-portit 8 Ajastin/laskurit 9 Sarjaportti 9.1 Baudinopeus 10 SFR-rekisterit 1 2 3 4 4 5 7 8 10 10 12 13 14
om .c
1 Yleispiirteet
MCS (MicroController System)-51 piiriperhe on alunperin Intelin suunnittelema mikrokontrolleriperhe, johon kuuluu kaikkiaan useita kymmenia eri piireja. Piirit poikkeavat toisistaan piirille integroidun muistin maaran ja tyypin seka piirille integroitujen I/O-ominaisuuksien puolesta. Kaikilla piireilla on kuitenkin yhteinen kaskykanta. MCS-51-sarjan prosessoreille on useita valmistajia, esim. Intel, AMD, Philips ja Siemens. Perheen peruspiirin 8051:n paaominaisuudet ovat seuraavat: - 8-bittinen keskusyksikko - 64 ktavun muistiavaruus ohjelmamuistille - 64 ktavun muistiavaruus datamuistille - 4 ktavua sisaista (on-chip) ohjelmamuistia, ROMmia - 128 tavua sisaista datamuistia, RAMmia - 32 kaksisuuntaista ja yksittain osoitettavaa I/O-linjaa, jotka on ryhmitelty neljaksi 8-bitin portiksi P0, P1, P2 ja P3 - kaksi 16-bittista ajastinta/laskuria - taysin kaksisuuntainen sarjaportti (full duplex UART, Universal Asynchronous Receiver/Transmitter) - vektoroitu keskeytysrakenne, jossa kaksi prioriteettitasoa - sisainen kello-oskillaattori - laaja kaskykanta: kuusi osoitusmuotoa, yksittaisten bittien osoitusmahdollisuus
w
w
w
t a .D
S a
e h
U t4 e
.c
m o
Alla olevassa taulukossa on joidenkin 51-perheeseen kuuluvien piirien ominaisuuksia.
Piiri (maskiROM) 8051 8051AH ROMmiton versio 8031 8031AH EPROM versio 8751BH ROMmin koko 4 kB 4 KB RAMmin koko 128 B 128 B 16-bittisia laskureita 2 2
w
w
w
.D
a
aS t
ee h
4U t
om .c
Intel MCS-51 -perhe Liite 1 / 2
8052AH 80C51BH 8032AH 80C31BH 8752BH 87C51 8 kB 4 kB 256 B 128 B 3 2
CMOS
Alla oleva kuva esittaa 8051-prosesorin lohkotason sisaista rakennetta.
Ulkoiset keskeytykset
Keskeytyslogiikka
ROM 4 ktavua
RAM 128 tavua
Timer 1 Timer 0
Ulkoiset laskentatulot
8-bittinen CPU
Sisaiset vaylat
Oskillaattori
Vaylan ohjaus n
4 x 8 I/O-porttia 8 8 8 8
UART
TxD Ulkoinen muistija osoitevayla
RxD
2 Rekisterirakenne 8051-mikrokontrollerin kayttajalle nakyvat rekisterit on esitetty alla olevassa kuvassa.
Akku B-rek. PSW
DPTR DPH DPL SP
P3 P2 P1 P0 IE IP TCON TMOD SCON I/O:ta ohjaavat rekisterit R7 R6 R5 R4 R3 R2 R1 R0 4 kpl 8:n rekisterin rekisteripankkeja
Niin kuin jaljempana kay ilmi (kpl 4.2), kaikki rekisterit ovatkin itse asiassa sisaisen datamuistin muistipaikkoja. Tavallisista muistipaikoista rekisterit eroavat vain siina, etta jokaisella rekisterina toimivalla muistipaikalla on oma symbolinen nimi, jolloin niiden osoittaminen on helppoa.
Intel MCS-51 -perhe Liite 1 / 3 Prosessorissa on 4 kpl 8:n rekisterin rekisteripankkeja, joista kerrallaan on kaytossa vain yksi. Kun ohjelmassa tehdaan viittaus rekistereihin R0...R7, niin tekeminen kohdistuu silla hetkella valittuna olevan rekisteripankin rekistereihin. Rekisteripankin valinta tehdaan lippurekisterissa olevilla biteilla. 3 Kantakytkenta MCS-51 -perheen prosessorit on pakattu mm. seuraaviin kotelovaihtoehtoihin: - 40-pinninen muovinen tai keraaminen DIL-kotelo - 44-pinninen PLCC-kotelo - 44-pinninen LCC-kotelo. 40-pinnisen DIL-kotelon kantakytkenta on seuraavan kuvan mukainen.
P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 RST RxD TxD INT0 INT1 T0 T1 WR RD P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21
VCC
P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 EA ALE PSEN P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 A15 A14 A13 A12 A11 A10 A9 A8 AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7
XTAL2 XTAL1 GND
Niin kuin kuvasta nakyy, monella linjalla on kaksi vaihtoehtoista toimintoa. * Portti P0 toimii ulkoisia vaylia kaytettaessa multipleksoituna osoite/data-vaylana, jolla kulkee osoitevaylan 8 alinta bittia seka 8-bittinen data. * Portti P2 antaa ulkoisia vaylia kaytettaessa osoitevaylan 8 ylinta bittia. * Portin P3 bitella on seuraavan taulukon mukaiset vaihtoehtoiset toiminnot. Portin P3 linja
P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 RxD TxD INT0 INT1 T0 T1
Vaihtoehtoinen toiminto
sarjaportin tulo sarjaportin lahto ulkoinen keskeytys 0 ulkoinen keskeytys 1 timer 0:n ulkoinen tulo timer 1:n ulkoinen tulo ulkoisen datamuistin kirjoituspulssi ulkoisen datamuistin lukupulssi
WR
RD
Intel MCS-51 -perhe Liite 1 / 4
Intel MCS-51 -perhe Liite 1 / 5 4 Muistiorganisaatio 51-prosessorilla on erilliset muistiavaruudet ohjelma- ja datamuistille. Kaskyt prosessori hakee aina automaattisesti ohjelmamuistista, mutta muuten ohjelmassa voidaan kaskyilla valita kumpaan muistiin tekeminen kohdistuu. Kaskykannassa on siis eri kaskyt naille kahdelle eri muistiavaruudelle. Kovon puolella ulkoisia muisteja taas ohjataan eri ohjauslinjoilla, jolloin pystytaan tekemaan ero kahden eri muistityypin valilla. Koska ohjelmamuisti vastaa ROMmia ja datamuisti RAMmia, voidaan ohjelmamuistia vain lukea ja datamuistia seka lukea etta kirjoittaa. Muistia voi olla yhteensa enimmillaan seuraavasti: - ohjelmamuistia yhteensa 64 ktavua, sisainen + ulkoinen - datamuistia ulkoisena 64 ktavua + sisaisena 128 tai 256 tavua 4.1 Ohjelmamuisti 8051-prosessorilla on ohjaustulo EA (External Access). Taman tulon perusteella valitaan se, hyodyntaako prosessori mahdollista sisaista ohjelmamuistia, vai kaytetaanko pelkastaan ulkoista ohjelmamuistia. Kun EA = 0 Koko ohjelmamuistiavaruus on ulkoista muistia. Talla ohjaustulolla voidaan siis "ohittaa" piirin sisainen ohjelmamuisti, vaikka sellainen olisikin olemassa. Muistiavaruuden alimmat tavut (4, 8 tai 16 k piirista riippuen) ovat sisaista muistia ja ylemmat ulkoista.
Kun EA = 1
Kun 8051-piiri osoittaa ulkoista ohjelmamuistia, lukupulssina kaytetaan PSEN -linjaa (Program Store ENable). Se toimii aivan samoin kuin normaali RD -linja, mutta sita kaytetaan vain ulkoisen ohjelmamuistin lukemiseen. Ulkoisen muistin liittaminen vie 32:sta I/O-linjasta puolet seuraavasti: - portti P0 toimii multipleksoituna osoite/datavaylana AD7...AD0 - portti P2 toimii osoitevaylan ylempana puoliskona A15...A8. Seuraava kuva esittaa tarvittavaa kytkentaa, kun prosessori kayttaa vain ulkoista ohjelmamuistia, ja kun datavaylalle ei liiteta muuta kuin yksi EPROM-muisti.
8051
P0 8 multipleksoitu osoite/data AD7...AD0 8 8
EPROM
data
latch
ALE P2 PSEN EA 8 74...373
A7...A0
osoite
A15...A8 OE
Intel MCS-51 -perhe Liite 1 / 6 4.2 Datamuisti Kaikilla MCS-51 perheen piireilla on sisaista datamuistia (=RAMmia), toisin kuin ohjelmamuistia (=ROMmia). Tama sisainen datamuisti on myos aina kaytossa, mutta sen lisaksi piiriin voidaan liittaa myos ulkoista datamuistia. Sisainen datamuisti kayttaa osoitteita 0...FFH (0...255). Nain ollen sen osoittamiseen riittaa 8-bittinen osoite. Ulkoinen datamuisti on kooltaan enintaan 64 ktavua, ja sen osoittamiseen voidaan kayttaa joko 8- tai 16-bittista osoitetta. Sisaisen ja ulkoisen datamuistin osoittamiseen on omat kaskynsa, samoin kuin siihen, kaytetaanko 8- vai 16-bittista osoitetta. Ulkoista RAMmia ohjataan RD - ja WR-linjoilla, eli eri linjoilla kuin ulkoista ROMmia (PSEN -linja). 51-piiriin pystytaan siis liittamaan enimmillaan seka ulkoista ROMmia etta ulkoista RAMmia molempia 64 ktavua. Koko datamuisti jakaantuu loogisiin osiin seuraavasti.
FFFF
64 kB FF alue 2 80 128 B 7F alue 1 00 128 B alue 3
128 B
0000 Ulkoinen datamuisti
Sisainen datamuisti
Sisainen datamuisti jakaantuu loogisesti kolmeen eri osaan. Alueet 2 ja 3 sisjaitsevat samoissa osoitteissa, mutta niihin paastaan kasiksi erilaisilla osoitusmuodoilla, eli erilaisilla kaskyilla. Alue 1 eli "Lower 128" Alue 1 jakaantuu seuraavan kuvan mukaisiin osiin.
7FH kayttajan vapaasti kaytettavissa 30H 20H 18H 10H 08H 00H bittiosoitettava muistialue rekisteripankki 3 rekisteripankki 2 rekisteripankki 1 rekisteripankki 0
80 tavua, joiden alueelle usein sijoittuu pino 16 tavua = 128 bittia, joita voidaan osoittaa myos bittiosoitteilla 0...7FH 4 rekisteripankkia, joissa jokaisessa 8 rekisteria, R0...R7, vain yksi kerrallaan valittuna
- Alue on olemassa kaikissa MCS-51 -piireissa.
Intel MCS-51 -perhe Liite 1 / 7 - Alueen muistipaikkoja voi osoittaa suoraan tai epasuorasti. - Monilla alueen muistipaikoilla on valmiiksi jokin kiintea erityistehtava. Aluetta voi kuitenkin kayttaa vapaasti, ellei muistipaikkojen erityisluonnetta haluta hyodyntaa. - Mikroprosessorin neljassa rekisteripankissa olevat yleiskayttoiset rekisterit R0...R7 vastaavat taman alueen muistipaikkoja. Alue 2 eli "Upper 128" - Aluetta ei ole olemassa kaikissa MCS-51 -piireissa. Alue on vain niissa piireissa, joille ilmoitetaan sisaisen RAMmin kooksi 256 tavua. - Alueen muistipaikkoja voi osoittaa vain epasuorasti. - Koko alue on kayttajan vapaasti kaytettavissa. Alue 3 eli "SFR", Special Funktion Registers - Alue on olemassa kaikissa MCS-51 -piireissa. - Kun piirille ilmoitetaan sisaisen RAMmin koko, niin tata aluetta ei lasketa mukaan. - Alueen muistipaikkoja voi osoittaa vain suoraan. - Monilla alueen muistipaikoilla on oma kiintea erityistehtava (= SFR). Aluetta ei voi kayttaa vapaasti mihin haluaa. - Mikroprosessorin normaalit rekisterit, kuten akku, lippurekisteri ja pino-osoitin vastaavat taman alueen muistipaikkoja. - Kaikkiin MCS-51:n eri osiin (ajastimet, I/O-portit, UART,... ) paastaan ohjelman kannalta kasiksi taman alueen muistipaikkojen kautta. Eri piirityypeilla, joilla on eri ominaisuuksia, SFR-alueella on eri maara kiinteaan erityistehtavaan varattuja muistipaikkoja. - SFR-rekisterit, niiden osoitteet seka reset-arvot ovat seuraavat: Symboli
ACC B PSW SP DPTR DPL DPH P0 P1 P2 P3 IP IE TIMOD TCON TH0 TL0 TH1 TL1 SCON SBUF PCON
Nimi
Akku B-rekisteri Lippurekisteri Pino-osoitin Data-pointer, 16-bittinen Data-pointer, low-tavu Data-pointer, high-tavu Portti 0 Portti 1 Portti 2 Portti 3 Keskeytysten prioriteetti Keskeytysten sallinta Timer/Counter moden valinta Timer/Counter ohjaus Timer/Counter 0, high-tavu Timer/Counter 0, low-tavu8A Timer/Counter 1, high-tavu Timer/Counter 1, low-tavu8B Sarjaportin ohjaus Sarjaportin datan puskuri Tehonsyoton ohjaus
Osoite (hex)
E0 F0 D0 81 82 83 80 90 A0 B0 B8 A8 89 88 8C 00 8D 00 98 99 87
Reset-arvo (hex)
00 00 00 07 00 00 FF FF FF FF 00 00 00 00 00 00 00 ?? 00
5 Yhden bitin kasittelymahdollisuudet
Intel MCS-51 -perhe Liite 1 / 8 MCS-51 -perhe on varsinaisesti tarkoitettu ohjaussovelluksiin, joissa on tarve lukea ja ohjata yhden bitin tietoa: kytkin on auki/kiinni, moottori on paalla/pois paalta, jne. Tata varten prosessorissa onkin monipuoliset mahdollisuudet kasitella yhden bitin tietoa eli Boolen muuttujia. Tata yksittaisten totuusarvojen monipuolista kasittelykykya tarkoittaa ilmaisu "Boolean processing capabilities". Mikroprosessorin kaskykannassa on runsaasti yhden bitin kasittelykaskyja, ja sen muistissa on bittiosoitettavia muistipaikkoja yhteensa 256 kpl (bittiosoitteet 0...FFH). Kun normaalisti tietoa kasitellaan 8-bitin yksikoissa, niin bittimuuttujat ovatkin vain yhden bitin levyisia. Joidenkin 8-bittisten tavujen yksittaisille biteille on siis tavuosoitteiden lisaksi annettu oma bittiosoite. Bittiosoitettavat muistipaikat sijaitsevat 51-prosessorin sisaisessa datamuistissa niin, etta joitain muistipaikkoja voi osoittaa joko tavuittain tai biteittain. On siis taysin ohjelmoijan (= kayttajan) paatettavissa, kaytetaanko ohjelmassa tiettyja muistipaikkoja normaaleina 8-bitin muistipaikkoina vai 1-bitin muistipaikkoina (Boolean variable). Bittiosoitettavat muistipaikat sijaitsevat datamuistissa kahdessa ryhmassa: 1. Bittiosoitteet 00...7FH (0...127) vastaavat datamuistin "lower 128" -alueen tavuja 20...2FH. Bittiosoitteet menevat numerojarjestyksessa alimman tavun LSB-bitista ylimman tavun MSB-bittiin seuraavan kuvan mukaisesti.
MSB LSB kunkin bitin kohdalla sen bittiosoite
alue 1, tavu 2FH 7F 7E 7D 7C 7B 7A 79 78 alue 1, tavu 21H alue 1, tavu 20H 0F 0E 0D 0C 0B 0A 09 08 07 06 05 04 03 02 01 00
2.
Bittiosoitteet 80...FFH (128...255) vastaavat "SFR"-alueen bittiosoitettavien tavujen bitteja. SFR-alueen muistikartta
FFH F7H EFH E7H DFH D7H CFH C7H BFH B7H AFH A7H 9FH 97H 8FH 87H PCON B ACC PSW IP P3 IE P2 SBUF SCON P1 TMOD TCON SP P0 F8H F0H E8H E0H D8H D0H C8H C0H B8H B0H A8H A0H 98H 90H 88H 80H
TH1
TH0
TL1 DPH
TL0 DPL
bittiosoitettavat tavut
SFR-alueen ne tavut, joiden binaarinen tavuosoite paattyy kolmeen nollaan, ovat bittiosoitettavia. Kunkin bitin binaarinen bittiosoite saadaan siten, etta
Intel MCS-51 -perhe Liite 1 / 9 bittiosoitteen viisi ylinta bittia ovat samat kuin vastaavan tavuosoitteen, ja kolme alinta bittia osoittavat bitin paikan tavun sisalla. Seuraava kuva esittaa, miten bittiosoite muodostuu SFR-alueella.
SFR-alueella oleva tavu, jonka binaarinen tavuosoite paattyy kolmeen nollaan, tavuosoite esim. D0H = 1101 0000B bittiosoitteen 5 ylinta bittia tavuosoitteesta 7 6 5 4 3 2 1 0
111 110 101 100 011 010 001 000
bittiosoitteen 3 alinta bittia bitin numerosta
tavun eri bittien bittiosoitteet
1101 0111B 1101 0110B 1101 0101B 1101 0100B 1101 0011B 1101 0010B 1101 0001B 1101 0000B
= = = = = = = =
D7H D6H D5H D4H D3H D2H D1H D0H
bitti 7:n bittiosoite bitti 6:n bittiosoite
bitti 1:n bittiosoite bitti 0:n bittiosoite
Bittiosoitettavien muistipaikkojen avulla paastaan kasiksi esimerkiksi prosessorin lippurekisterin yksittaisiin bitteihin. Myos kaikki 32 yksittaista I/O-linjaa (portit P0...P3) saavat SFR-alueen kautta omat bittiosoitteensa. 6 Keskeytykset MCS-51 -prosessorissa on perusmuodossaan viisi eri keskeytyslahdetta, joista kukin aiheuttaa keskeytyspyynnon asettamalla sita vastaavan keskeytyspyyntolipun "1":ksi. Eri keskeytyslahteet ja niita vastaavat keskeytyspyyntoliput ovat seuraavat: - ulkoinen keskeytys 0 lippu IE0 - ulkoinen keskeytys 1 lippu IE1 - timer/counter 0 lippu TF0 - timer/counter 1 lippu TF1 - sarjaportti lahetyksen lippu TI, vastaanoton lippu RI Keskeytykset on vektoroitu niin, etta jokainen keskeytyslahde aiheuttaa ohjelman suorituksen jatkumisen omasta kiinteasta osoitteestaan. Jokainen viidesta keskeytyslahteesta voidaan erikseen estaa tai sallia keskeytysten sallinta -rekisterissa olevilla biteilla. Lisaksi kaikki keskeytykset voidaan estaa yhdella bitilla samassa rekisterissa. Kaikki keskeytyspyynnon ilmaisevat liput voidaan asettaa tai nollata myos ohjelmallisesti. Nain ollen ohjelmallisesti voidaan aiheuttaa keskeytys tai estaa palvelua odottava keskeytyspyynto. Jokainen viidesta keskeytyslahteesta voidaan asettaa jompaan kumpaan kahdesta prioriteettitasosta. Kun prosessori suorittaa keskeytysohjelmaa, niin sita ei voi
Intel MCS-51 -perhe Liite 1 / 10 keskeyttaa matalamman tai saman tason keskeytyspyynto. Jos kaksi keskeytyspyyntoa tulee yhta aikaa (saman kaskyn suorituksen aikana), korkeamman prioriteetin pyynto suoritetaan ensin. Saman prioriteettitason sisalla keskeytyksilla on seuraava jarjestys: korkein IE0 TF0 IE1 TF1 matalin RI tai TI
Seuraava kuva esittaa 8051:n keskeytysjarjestelmaa. Keskeytyksen aiheuttaja
IT0 nasta INT0 1 0 1 IE0
Bitti, joka ilmaisee keskeytyspyynnon
Keskeytysvektorin osoite
0003H 000BH 0013H 001BH 1 0023H
timer 0 IT1 nasta INT1 1 0 1
TF0
IE1
timer 1 lahetys sarjaportti vastaanotto
TF1 TI RI
Ulkoiset keskeytykset INT 0 ja INT1 ovat joko reuna- tai tasoherkkia riippuen siita, mika arvo on biteilla IT0 ja IT1 rekisterissa TCON. Sarjaportin keskeytyksella on kaksi vaihtoehtoista aiheuttajaa, lahetys ja vastaanotto. Tyypillisesti sarjaportin keskeytysohjelmassa pitaa ohjelmallisesti selvittaa, kumpi vaihtoehto keskeytyksen on aiheuttanut. Osa keskeytyspyynnon ilmaisevista biteista nollautuu automaattisesti kovon toimesta, kun ohjelma hyppaa keskeytysvektoriin. Jos keskeytys on estetty, niin sita vastaava bitti ei nollaudu. Jotkin bitit pitaa nollata ohjelmallisesti seuraavan taulukon mukaisesti. Keskeytysbitt i IE0 ja IE1 TF0 ja TF1 Keskeytysbitin nollautuminen kovo nollaa hypattaessa vain jos keskeytys on reunaherkka kovo nollaa hypattaessa
Intel MCS-51 -perhe Liite 1 / 11 RI ja TI 7 I/O-portit 8051-prosessorissa on 4 kpl 8-bittisia I/O-portteja, joita voidaan kayttaa tuloina tai lahtoina. Kaikkia 32 bittia voidaan osoittaa yksilollisesti omalla bittiosoitteellaan ja jokainen bitti voi toimia joko tulona tai lahtona taysin riippumatta muista biteista. Tyypillisessa tilanteessa portit P0 ja P2 toimivat osoite- ja datavaylana, jolloin portit P1 ja P3 jaavat kayttajan kayttoon. Kaikilla portin P3 linjoilla on kuitenkin olemassa vaihtoehtoinen toiminto (kts. kpl 3), joten kayttajan taysin vapaaseen kayttoon jaa sovelluksesta riippuen 8-16 kpl I/O-linjoja. Porttien 1 ja 3 linjat ovat kaksisuuntaisia linjoja, joissa on sisainen ylosvetovastus. Jos johonkin linjaan on kirjoitettu "0", niin lahto on todellakin tiukasti "0":ssa, vaikka sita ulkoisesti yritettaisiin kaantaa "1":ksi. Jos johonkin linjaan kirjoitetaan "1", niin lahto on vedetty sisaisella ylosvetovastuksella heikosti "1":een niin, etta se voidaan ulkoisesti kuitenkin kaantaa "0":ksi. Nain ollen, jos joitain linjoja halutaan kayttaa tuloina, niihin on sita ennen kirjoitetava "1". Resetin jalkeen kaikki 32 I/O-linjaa ovatkin "1"-tilassa. 8 Ajastin/laskurit MCS-51 -prosessorissa on perusmuodossaan kaksi itsenaisesti toimivaa 16-bittista ajastin/laskuria, timer/counter 0 ja timer/counter 1. Laskenta tapahtuu aina ylospain, ja kun laskuri pyorahtaa ympari, tulee keskeytyspyynto. Laskureiden ytimena ovat rekisterit TH0 ja TL0 seka TH1 ja TL1. Naiden rekistereiden sisalto paivittyy siis laskennan edetessa automaattisesti. Kayttaja voi myos itse ladata rekistereihin alkuarvon seka lukea niista lopputuloksen. Jos kaytetaan ajastin-toimintoa, laskuri askeltaa yhdella ylospain jokaisella konejaksolla. Koska konejakso koostuu 12 kellojaksosta, niin laskentataajuus on kellotaajuus/12 (= kidetaajuus/12). Jos kaytetaan laskuri-toimintoa, laskuri askeltaa yhdella ylospain aina kun vastaavassa ulkoisessa T0- tai T1-pinnissa esiintyy laskeva reuna. Maksimi laskentataajuus on kellotaajuus/24. Seka ajastin- etta laskuritoiminnossa voidaan kayttaa neljaa eri toimintamuotoa, 0, 1, 2, ja 3. Toimintamuoto valitaan TMOD-rekisterissa olevilla M0 ja M1-biteilla. Toimintamuoto 0 Tama on 13-bittinen laskentamuoto. Muoto on yhteensopiva MCS-51 -perheen edeltajan MCS-48 -perheen kanssa. Toimintamuoto 0 on muuten samanlainen kuin toimintamuoto 1, paitsi etta laskenta tehdaan 13:lla bitilla 16:n sijasta. Molemmat ajastin/laskurit toimivat samalla tavalla toimintamuodossa 0. kovo ei nollaa, pitaa nollata ohjelmallisesti
Intel MCS-51 -perhe Liite 1 / 12 Toimintamuoto 1 Tama on 16-bittinen laskentamuoto. Molemmat ajastin/laskurit toimivat samalla tavalla toimintamuodossa 1. Seuraava kuva esitettaa ajastin/laskuri 1:n toimintaa muodossa 1.
T1-pinni ohjaukseen kaytettavat bitit 1 C/T INT1-pinni
GATE
oskillaattori
/12 0
1
ylivuoto TF1 keskeytys
1
&
0
1 laskentapulssit
TR1
TH1 (8bit)
TL1 (8 bit)
Toimintamuoto 2 Tama on 8-bittinen laskentamuoto. Alempi laskurirekisteri TLx toimii 8-bittisena ajas-tin/laskurina, johon latautuu automaattisesti aina uusi arvo ylemmasta laskurirekiste-rista THx:sta. Ylivuoto TLx:sta aiheuttaa siis seka keskeytyspyynnon etta uudelleen-latautumisen. Lataus jattaa THx:n muuttumattomaksi. Molemmat ajastin/laskurit toi-mivat samalla tavalla toimintamuodossa 2. Seuraava kuva esitettaa ajastin/laskuri 1:n toimintaa muodossa 2.
Intel MCS-51 -perhe Liite 1 / 13
T1-pinni ohjaukseen kaytettavat bitit 1 C/T INT1-pinni
GATE
oskillaattori
/12 0
1
1
&
ylivuoto
0
1 laskentapulssit
TR1
TL1 (8 bit) uudelleenlataus TF1 keskeytys TH1 (8 bit)
Toimintamuoto 3 Tassa toimintamuodossa ajastin/laskuri 1 on pysahtyneena, mutta sen arvo sailyy muuttumattomana. Ajastin/laskuri 0:n laskentarekisterit TL0 ja TH0 toimivat kahtena erillisena 8-bittisena laskurina. TL0-rekisterin laskentaa ohjataan timer 0:n ohjausbiteilla. TH0-rekisterin laskentaa ohjataan timer 1:n ohjausbiteilla, mutta niin etta se toimii aina ajastimena. Seuraava kuva esitettaa ajastin/laskuri 0:n toimintaa muodossa 3.
T0-pinni ohjaukseen kaytettavat bitit 1 C/T INT0-pinni
GATE
oskillaattori
/12 0
1
1
&
0
1
TR1
0
1
TR0 ylivuoto TF0 keskeytys TL0 (8 bit) ylivuoto TF1 keskeytys TH0 (8 bit)
9 Sarjaportti MCS-51 -prosessorissa on full duplex -sarjaportti, eli se voi lahettaa ja vastaanottaa yhta aikaa. Sen vastaanotin on puskuroitu niin, etta se voi vastaanottaa jo seuraavaa
Intel MCS-51 -perhe Liite 1 / 14 merkkia, vaikka edellista ei ole viela luettu vastaanottorekisterista. Jos edellista merkkia ei ole luettu vastaanottorekisterista seuraavan merkin vastaanoton paattyessa, menetetaan yksi vastaanotettu merkki. Seka lahetys- etta vastaanottorekisteri nakyvat kayttajalle SBUF-rekisterina, vaikka ne ovatkin todellisuudessa kaksi eri rekisteria. Kirjoittaminen SBUF-rekisteriin kohdistuu lahetysrekisteriin ja lukeminen SBUF-rekisterista kohdistuu vastaanottorekisteriin. Sarjaportilla on nelja eri toimintamuotoa. Toimintamuoto valitaan SCON-rekisterissa olevilla SM0 ja SM1-biteilla. Kaikissa toimintamuodoissa lahetys kaynnistyy silla, etta SBUF-rekisteriin kirjoitetaan jotakin. Vastaanotto kaynnistyy toimintamuodossa 0 silla, etta R1 = 0 ja REN = 1. Muissa toimintamuodoissa vastaanotto kaynnistyy tulevasta START-bitista, jos REN = 1. Toimintamuoto 0 Tassa toimintamuodossa sarjaportti toimii pelkkana siirtorekisterina, joka lahettaa tai vastaanottaa 8 bittia kerrallaan (LSB-bitti ensin). Sarjamuotoinen tieto lahetetaan ja vastaanotetaan RxD-pinnin kautta. TxD-pinni antaa kellosignaalin, jonka taajuus on kellotaajuus/12. Toimintamuoto 1 10 bittia lahetetaan TxD- tai vastaanotetaan RxD-pinnin kautta. Tiedon muoto on: - yksi START-bitti (0) - 8 databittia (LSB-bitti ensin) - yksi STOP-bitti (1). Vastaanotossa STOP-bitti menee SCON-rekisterin RB8-bitin arvoksi. Baudinopeus on muuteltavissa. Toimintamuoto 2 11 bittia lahetetaan TxD-tai vastaanotetaan RxD-pinnin kautta. Tiedon muoto on: - yksi START-bitti (0) - 8 databittia (LSB-bitti ensin) - ohjelmoitava 9. databitti (SCON-rekisterin TB8-bitti) - yksi STOP-bitti (1). Vastaanotossa 9. databitti menee SCON-rekisterin RB8-bitin arvoksi. Baudinopeudella on valittavissa kaksi vaihtoehtoa: kellotaajuus/32 tai kellotaajuus/64. Toimintamuoto 3 Muuten samanlainen kuin toimintamuoto 2, mutta baudinopeus on muuteltavissa. Toimintamuodoissa 1, 2 ja 3 sarjamuotoisen tiedon muoto on seuraavan kuvan mukainen.
Intel MCS-51 -perhe Liite 1 / 15
LSB D0
STARTbitti
D1
STOP-bitti
Databitteja 8 tai 9
9.1 Baudinopeus Toimintamuodossa 0 baudinopeus on kiintea, kellotaajuus/12. Toimintamuodossa 2 baudinopeudella on kaksi vaihtoehtoa seuraavasti: - PCON-rekisterin SMOD-bitti = 0 baudinopeus = kellotaajuus/64 - PCON-rekisterin SMOD-bitti = 1 baudinopeus = kellotaajuus/32. Toimintamuodoissa 1 ja 3 baudinopeus on muuteltavissa. MCS-51 -prosessorilla perus-muodossaan se maaraytyy timer 1:n ylivuototaajuudesta seuraavan kaavan mukaisesti. 2 SMOD x ( timer1:n ylivuototaajuus) baudinopeus = 32 Timer 1 voidaan maaritella toimimaan missa toimintamuodossa hyvansa ja joko ajasti-mena tai laskurina. Tyypillisesti se ohjelmoidaan toimimaan ajastimena toimintamuo-dossa 2, automaattisessa uudelleenlatauksessa. Tallaisessa tilanteessa baudinopeus maaraytyy seuraavan kaavan mukaisesti. 2 SMOD kellotaajuus x baudinopeus = 32 12 x 256 - (TH1) Yleensa Timer 1:n keskeytys pitaa estaa baudigeneraattorisovelluksissa. Jos halutaan saada hyvin alhainen baudinopeus, pitaa timer 1:n keskeytys sallia ja ohjelmoida ajastin toimimaan 16-bittisessa toimintamuodossa. Keskeytysohjelmassa sitten ladataan aina ajastimeen uusi alkuarvo ohjelmallisesti. 10 SFR-rekiserit PSW, Lippurekisteri (Program Status Word) tavuosoite D0H, bittiosoitettava
CY CY AC F0 RS1 RS0 OV P AC F0 RS1 RS0 OV P CARRY-lippu apucarry lippu 0, kayttajan vapaasti kaytettavissa rekisteripankin valintabitti 1, pankin numeron MSB-bitti rekisteripankin valintabitti 0, pankin numeron LSB-bitti ylivuotolippu pariteettilippu, 1 pariton, 0 parillinen pariteetti akulla
IE, Keskeytysten sallinta (Interrupt Enable Register)
Intel MCS-51 -perhe Liite 1 / 16 tavuosoite A8H, bittiosoitettava
EA EA ES ET1 EX1 ET0 EX0 ES ET1 EX1 ET0 EX0 kaikkien keskeytysten estaminen, 0 kaikki keskeytykset estetty 1 kukin keskeytys sallittu tai estetty omalla bitillaan sarjaportin keskeytys, 0 estetty, 1 sallittu timer 1 keskeytys, 0 estetty, 1 sallittu ulkoinen keskeytys 1, 0 estetty, 1 sallittu timer 0 keskeytys, 0 estetty, 1 sallittu ulkoinen keskeytys 0, 0 estetty, 1 sallittu
IP, Keskeytysten prioriteetti (Interrupt Priority Register) tavuosoite B8H, bittiosoitettava
PS PT1 PX1 PT0 PX0 PS PT1 PX1 PT0 PX0 0 matala, 1 korkea 0 matala, 1 korkea 0 matala, 1 korkea 0 matala, 1 korkea 0 matala, 1 korkea sarjaportin keskeytyksen prioriteetti, timer 1 keskeytyksen prioriteetti, ulkoinen keskeytys1:n prioriteetti, timer 0 keskeytyksen prioriteetti, ulkoinen keskeytys 0:n prioriteetti,
TCON, Ajastin/laskurin ohjaus (Timer/Counter Control Register) tavuosoite 88H, bittiosoitettava
TF1 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 TR1 TF0 TR0 IE1 IT1 IE0 IT0 timer 1:n ylivuotobitti, asettuu kun timer 1 pyorahtaa ympari timer 1:n ON/OFF-bitti, 1 timer 1 kay, 0 timer 1 ei kay timer 0:n ylivuotobitti, asettuu kun timer 0 pyorahtaa ympari timer 0:n ON/OFF-bitti, 1 timer 0 kay, 0 timer 0 ei kay ulkoisen keskeytyksen 1 reunan ilmasubitti keskeytyksen 1 tyypin valinta, 1 laskeva reuna, 0 0-taso ulkoisen keskeytyksen 0 reunan ilmasubitti keskeytyksen 0 tyypin valinta, 1 laskeva reuna, 0 0-taso
TMOD, Ajastin/laskurin toimintamuodon valinta (Timer/Counter Mode Control Register) tavuosoite 89H, ei bittiosoitettava
GATE
C/T
M1
M0
GATE
C/T
M1
M0
timer 1 timer 0
GATE laskennan ohjaus kovolla tai ohjelmalla kovo-ohjaus: kun GATE = 1 ja TRx = 1, ajastin/laskuri kay vain, jos INTx-pinni = 1 softaohjaus: kun GATE = 0, ajastin/laskuri kay vain, jos TRx = 1 ajastimen tai laskurin valintabitti 1 laskuri, laskee Tx-pinnin laskevia reunoja 0 ajastin, laskee systeemikellon tahdissa
C/T
Intel MCS-51 -perhe Liite 1 / 17
M1 M0 toimintamuodon valintabitti 1, muodon numeron MSB-bitti toimintamuodon valintabitti 0, muodon numeron LSB-bitti
Nro
0 1 2 3
M1
0 0 1 1
Ajastin/laskureiden toimintamuodot M0 Toiminta
0 1 0 1 13-bittinen ajastin/laskuri (MCS-48 -muoto) 16-bittinen ajastin/laskuri 8-bittinen ajastin/laskuri, automaattilataus TL0:ssa 8-bittinen laskenta, ohjaus timer 0 biteilla TH0:ssa 8-bittinen laskenta, ohjaus timer 1 biteilla ajastin/laskuri 1 on poissa kaytosta
Intel MCS-51 -perhe Liite 1 / 18 SCON, Sarjaportin ohjaus (Serial Port Control Register) tavuosoite 98H, bittiosoitettava
SM0 SM0 SM1 SM2 REN TB8 RB8 TI RI SM1 SM2 REN TB8 RB8 TI RI toimintamuodon valintabitti 0, muodon numeron MSB-bitti toimintamuodon valintabitti 1, muodon numeron LSB-bitti yhden prosessorin ymparistossa SM2 = 0, mahdollistaa monen prosessorin kommunikoinnin, jos SM2 = 1 vastaanoton sallinta, 1 sallittu, 0 estetty 9. bitti, joka lahetetaan toimintamuodoissa 2 ja 3 toimintamuodossa 0: ei kaytossa toimintamuodossa 1, jos SM2 = 0: vastaanotettu STOP-bitti toimintamuodoissa 2 ja 3: vastaanotettu 9. bitti, lahetyksen keskeytysbitti toimintamuodossa 0: asettuu "1":ksi 8. bitin lopussa muut toimintamuodot: asettuu "1":ksi STOP-bitin alussa vastaanoton keskeytysbitti toimintamuodossa 0: asettuu "1":ksi 8. bitin lopussa muut toimintamuodot: asettuu "1":ksi STOP-bitin puolivalissa
Nro
0 1 2 3
Sarjaportin toimintamuodot SM SM1 Toiminta
0 0 1 1 0 1 0 1 8-bittinen siirtorekisteri START + 8 bittia + STOP START + 9 bittia + STOP START + 9 bittia + STOP
Baudinopeus
kellotaajuus/12 muuteltavissa kellotaajuus/64 tai /32 muuteltavissa
PCON, Tehonsyoton ohjaus (Power Control Register) tavuosoite 87H, ei bittiosoitettava
SMOD SMOD GF1 GF0 PD IDL GF1 GF0 PD IDL Kaksinkertaisen baudinopeus. Jos timer 1 on baudigeneraattorina ja SMOD = 1, sarjaportin baudinopeus kaksinkertaistuu muodoissa 1, 2, ja 3. yleiskayttoinen lippu yleiskayttoinen lippu tehonsyoton sammutus, 1 CPU pysahtyy, pois vain resetilla lepotila, 1 CPU lepotilaan, pois resetilla tai keskeytyksella
biteilla PD ja IDL on merkitysta vain CMOS-piireilla


▲Up To Search▲   

 
Price & Availability of MCS51

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X